#ifndef VECTOR3F_H
#define VECTOR3F_H

#include <cmath>
#include <iostream>

class Vector3F
{
public:
    float X;
    float Y;
    float Z;

	Vector3F();
    Vector3F(float x,float y,float z);
    Vector3F(const Vector3F & v);
    Vector3F(const Vector3F & from,const Vector3F & to);

    Vector3F & operator= (const Vector3F & v);

    Vector3F & operator+= (const Vector3F & v);
    Vector3F operator+ (const Vector3F & v);

    Vector3F & operator-= (const Vector3F & v);
    Vector3F operator- (const Vector3F & v);

    Vector3F & operator*= (const float a);
    Vector3F operator* (const float a);
    friend Vector3F operator* (const float a,const Vector3F & v);

    Vector3F & operator/= (const float a);
    Vector3F operator/ (const float a);

    Vector3F crossProduct(const Vector3F & v) const;
    float length()const;
    Vector3F & normalize();

};

#endif
